Game scripting languages that enable programmers and/or non-programmers alike to develop a new game for to customize an existing game is generally known in the art. Some game scripting languages allow users to create and populate data structures that are later consumed by the game engine. Such game scripting languages are often declarative and are either executed or parsed offline or at runtime when the data is loaded into memory. Some game scripting languages are intended to be executed within the context of the game engine at runtime. These languages are usually used to extend or customize the hard-coded functionality of the game engine's game object model and/or other game engine systems. Some examples of game scripting languages are QuakeC, unrealScript, Lua, and Python.
Some scripting languages allow game object types that have been implemented in the native language to be extended via script. Callbacks and event handlers are examples of this. An event handler is typically a special type of hook function whose purpose is to allow a game object to respond to some relevant occurrence within the game world (e.g., responding to an explosion going off) or within the engine itself (e.g., responding to an out-of-memory condition). Many game engines allow users to write event handler hooks in script as well as in the native language.